home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MPEG Toolkit
/
MPEG Toolkit.iso
/
win
/
med-lib
/
mdctrl.z
/
MDCTRL.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-08-11
|
29KB
|
1,219 lines
unit Mdctrl;
interface
uses
SysUtils, WinCrt, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, TabNotBk, Spin, Menus;
type
TForm1 = class(TForm)
cmdOpen: TButton;
cmdPlay: TButton;
cmdClose: TButton;
Timer1: TTimer;
txtFileName: TEdit;
cmdExit: TButton;
cmdPause: TButton;
tabControls: TTabbedNotebook;
cmdLite: TButton;
cmdCloseAll: TButton;
cmdStep: TButton;
cmdStop: TButton;
cmdRewind: TButton;
cmdRestart: TButton;
txtFrame: TEdit;
cmdGoto: TButton;
cmdHide: TButton;
cmdHideVid: TButton;
cmdHideCtrl: TButton;
cmdShow: TButton;
cmdShowVid: TButton;
cmdShowCtrl: TButton;
cmdBottom: TButton;
cmdBottom2: TButton;
cmdTop: TButton;
chkShowBtmBtn: TCheckBox;
Bevel1: TBevel;
lblFrameNo: TLabel;
Label1: TLabel;
Bevel2: TBevel;
lblStateValue: TLabel;
lblState: TLabel;
optModal: TRadioButton;
optNonModal: TRadioButton;
optNoControl: TRadioButton;
txtBX: TEdit;
txtBY: TEdit;
txtVX: TEdit;
txtVY: TEdit;
txtCX: TEdit;
txtCY: TEdit;
lblVidCtrl: TLabel;
lblVideo: TLabel;
lblCtrlBar: TLabel;
txtBW: TEdit;
txtBH: TEdit;
txtVH: TEdit;
txtVW: TEdit;
txtCW: TEdit;
txtCH: TEdit;
lblX: TLabel;
lblY: TLabel;
lblW: TLabel;
lblH: TLabel;
cmdSetPosVC: TButton;
cmdSetSizeVC: TButton;
cmdSetPosV: TButton;
cmdSetSizeV: TButton;
cmdSetPosC: TButton;
cmdSetSizeC: TButton;
Bevel3: TBevel;
Bevel4: TBevel;
Bevel5: TBevel;
Label2: TLabel;
lblSetPos: TLabel;
lblSetSize: TLabel;
cmdGetSizeC: TButton;
cmdGetPosC: TButton;
cmdGetPosV: TButton;
cmdGetSizeV: TButton;
cmdGetSizeVC: TButton;
cmdGetPosVC: TButton;
Label3: TLabel;
Bevel6: TBevel;
Label4: TLabel;
Bevel7: TBevel;
Bevel8: TBevel;
Label5: TLabel;
sclPlaybackSpeed: TScrollBar;
lblPlaybackSpeed: TLabel;
txtRed: TEdit;
txtGreen: TEdit;
txtBlue: TEdit;
cmdColor: TButton;
clrDialog: TColorDialog;
shpColor: TShape;
chkVideoPalette: TCheckBox;
txtOffsetX: TEdit;
txtOffsetY: TEdit;
cmdSetOffset: TButton;
Bevel9: TBevel;
lblLengthDisp: TLabel;
lblLength: TLabel;
txtFrameBeg: TEdit;
txtFrameEnd: TEdit;
cmdSetClip: TButton;
lblAreaClicked: TLabel;
Bevel10: TBevel;
optMoveable: TRadioButton;
optInteractive: TRadioButton;
spnType: TSpinEdit;
cmdSetClipRegion: TButton;
txtClipX: TEdit;
txtClipY: TEdit;
txtClipWidth: TEdit;
txtClipHeight: TEdit;
cmdMute: TButton;
scrAudioLevel: TScrollBar;
lblAudLevel: TLabel;
lblFrameRate: TLabel;
cmdFrameRate: TButton;
Bevel11: TBevel;
lblPlayedStatus: TLabel;
Bevel12: TBevel;
cmdPlayedStatus: TButton;
lblOpenFiles: TLabel;
Bevel13: TBevel;
cmdOpenFiles: TButton;
cmdFileType: TButton;
lblFileType: TLabel;
Bevel14: TBevel;
cmdWindowHandle: TButton;
popHWND: TPopupMenu;
mnuHandle: TMenuItem;
pnlWindowHandle: TPanel;
pnlDeviceID: TPanel;
cmdDeviceID: TButton;
pnlClipFrame: TPanel;
cmdClipFrame: TButton;
pnlClipLength: TPanel;
cmdClipLength: TButton;
pnlDisplayState: TPanel;
cmdDisplayState: TButton;
txtSendString: TEdit;
Label6: TLabel;
cmdSendString: TButton;
pnlMCIReturn: TPanel;
pnlCursor: TPanel;
imgCursor: TImage;
SpinButton1: TSpinButton;
cmdCursorSetVC: TButton;
cmdCursorResetVC: TButton;
cmdCursorSetV: TButton;
cmdCursorResetV: TButton;
cmdCursorSetC: TButton;
cmdCursorResetC: TButton;
Label7: TLabel;
Label8: TLabel;
dlgOpen: TOpenDialog;
cmdBrowse: TButton;
txtGraphicFileName: TEdit;
Label9: TLabel;
cmdOpenGraphic: TButton;
cmdOpenKeep: TButton;
chkUsePalette: TCheckBox;
cmdShowGraphic: TButton;
cmdHideGraphic: TButton;
cmdCloseGraphic: TButton;
txtGrXPos: TEdit;
txtGrYPos: TEdit;
txtGrWidth: TEdit;
txtGrHeight: TEdit;
cmdShowGraphicPos: TButton;
txtDispXPos: TEdit;
txtDispYPos: TEdit;
cmdDisplayGraphic: TButton;
cmdBrowseVideo: TButton;
dlgVideo: TOpenDialog;
Button1: TButton;
cmdEject: TButton;
cmdUnloadLib: TButton;
cmdLoadLib: TButton;
procedure cmdOpenClick(Sender: TObject);
procedure cmdPlayClick(Sender: TObject);
procedure cmdCloseClick(Sender: TObject);
procedure cmdExitClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure cmdPauseClick(Sender: TObject);
procedure cmdCloseAllClick(Sender: TObject);
procedure cmdStepClick(Sender: TObject);
procedure cmdStopClick(Sender: TObject);
procedure cmdRewindClick(Sender: TObject);
procedure cmdRestartClick(Sender: TObject);
procedure cmdLiteClick(Sender: TObject);
procedure cmdGotoClick(Sender: TObject);
procedure cmdHideClick(Sender: TObject);
procedure cmdHideVidClick(Sender: TObject);
procedure cmdHideCtrlClick(Sender: TObject);
procedure cmdShowClick(Sender: TObject);
procedure cmdShowVidClick(Sender: TObject);
procedure cmdShowCtrlClick(Sender: TObject);
procedure cmdBottomClick(Sender: TObject);
procedure cmdBottom2Click(Sender: TObject);
procedure chkShowBtmBtnClick(Sender: TObject);
procedure cmdTopClick(Sender: TObject);
{procedure cmdEjectClick(Sender: TObject);}
procedure optModalClick(Sender: TObject);
procedure optNonModalClick(Sender: TObject);
procedure optNoControlClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure sclPlaybackSpeedChange(Sender: TObject);
procedure shpColorMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure cmdColorClick(Sender: TObject);
procedure txtRedChange(Sender: TObject);
procedure txtGreenChange(Sender: TObject);
procedure txtBlueChange(Sender: TObject);
procedure chkVideoPaletteClick(Sender: TObject);
procedure cmdSetOffsetClick(Sender: TObject);
procedure txtOffsetXChange(Sender: TObject);
procedure txtOffsetYChange(Sender: TObject);
procedure cmdSetClipClick(Sender: TObject);
procedure optMoveableClick(Sender: TObject);
procedure optInteractiveClick(Sender: TObject);
procedure cmdSetClipRegionClick(Sender: TObject);
procedure cmdMuteClick(Sender: TObject);
procedure scrAudioLevelChange(Sender: TObject);
procedure cmdSetPosVCClick(Sender: TObject);
procedure cmdSetPosVClick(Sender: TObject);
procedure cmdSetPosCClick(Sender: TObject);
procedure cmdSetSizeVCClick(Sender: TObject);
procedure cmdSetSizeVClick(Sender: TObject);
procedure cmdSetSizeCClick(Sender: TObject);
procedure cmdGetPosVCClick(Sender: TObject);
procedure cmdGetPosVClick(Sender: TObject);
procedure cmdGetPosCClick(Sender: TObject);
procedure cmdGetSizeVCClick(Sender: TObject);
procedure cmdGetSizeVClick(Sender: TObject);
procedure cmdGetSizeCClick(Sender: TObject);
procedure cmdFrameRateClick(Sender: TObject);
procedure cmdPlayedStatusClick(Sender: TObject);
procedure cmdOpenFilesClick(Sender: TObject);
procedure cmdFileTypeClick(Sender: TObject);
procedure cmdWindowHandleClick(Sender: TObject);
procedure pnlWindowHandleClick(Sender: TObject);
procedure cmdDeviceIDClick(Sender: TObject);
procedure cmdClipFrameClick(Sender: TObject);
procedure cmdClipLengthClick(Sender: TObject);
procedure cmdDisplayStateClick(Sender: TObject);
procedure cmdSendStringClick(Sender: TObject);
procedure txtSendStringKeyPress(Sender: TObject; var Key: Char);
procedure SpinButton1DownClick(Sender: TObject);
procedure SpinButton1UpClick(Sender: TObject);
procedure cmdCursorSetVCClick(Sender: TObject);
procedure cmdCursorSetVClick(Sender: TObject);
procedure cmdCursorSetCClick(Sender: TObject);
procedure cmdCursorResetCClick(Sender: TObject);
procedure cmdCursorResetVClick(Sender: TObject);
procedure cmdCursorResetVCClick(Sender: TObject);
procedure cmdBrowseClick(Sender: TObject);
procedure cmdOpenGraphicClick(Sender: TObject);
procedure cmdOpenKeepClick(Sender: TObject);
procedure cmdShowGraphicClick(Sender: TObject);
procedure cmdHideGraphicClick(Sender: TObject);
procedure cmdCloseGraphicClick(Sender: TObject);
procedure cmdShowGraphicPosClick(Sender: TObject);
procedure cmdDisplayGraphicClick(Sender: TObject);
procedure cmdBrowseVideoClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure cmdEjectClick(Sender: TObject);
procedure cmdUnloadLibClick(Sender: TObject);
procedure cmdLoadLibClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
nFileHandle : integer;
implementation
{$R *.DFM}
{$I mediadyn.inc}
{ Commented $ I Jakarta.inc }
procedure TForm1.cmdOpenClick(Sender: TObject);
Var
szFileName: array[0..79] of Char;
nControlType : Integer;
szHold : String;
nVolume : Integer;
begin
{ Do this to get the filename in the right format
for sending to the DLL }
StrPCopy ( szFileName, txtFileName.Text );
if optModal.Checked then nControlType := MD_CONTROL_INT_MODAL;
if optNonModal.Checked then nControlType := MD_CONTROL_INT_NONMODAL;
if optNoControl.Checked then nControlType := MD_CONTROL_INT_NONE;
mdClose( 0 ); { Just a precaution here }
{ Open the file using all of the automatic settings }
nFileHandle := mdOpen( Form1.ClientHandle, szFileName, 10, 10,
MD_VIDSIZE_W_AUTOMATIC, MD_VIDSIZE_H_AUTOMATIC,
MD_FRAME_DEFAULT_BEG, MD_FRAME_DEFAULT_END,
nControlType, MD_LOAD_AV_SHOW);
if nFileHandle <> 0 then Timer1.Enabled := True;
Str( mdGetLength( nFileHandle ), szHold );
lblLengthDisp.Caption := szHold;
optMoveable.Checked := False;
nVolume := mdGetVolumeLevel( nFileHandle );
scrAudioLevel.Position := 100 - nVolume;
end;
procedure TForm1.cmdPlayClick(Sender: TObject);
begin
mdPlay( nFileHandle, MD_PLAY_NONMODAL );
end;
procedure TForm1.cmdCloseClick(Sender: TObject);
begin
mdClose( nFileHandle );
end;
procedure TForm1.cmdExitClick(Sender: TObject);
begin
halt(1); { Exit the Application }
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
szHold : String;
nTmp : Integer;
begin
Str( mdGetFrame( nFileHandle ), szHold );
lblFrameNo.Caption := szHold;
case mdGetPlayState( nFileHandle ) of
0: lblStateValue.caption := 'Closed';
1: lblStateValue.caption := 'Playing';
2: lblStateValue.caption := 'Seeking';
3: lblStateValue.caption := 'Paused';
4: lblStateValue.caption := 'End';
5: lblStateValue.caption := 'Stopped';
end;
if optInteractive.Checked then
Begin
nTmp := mdGetAreaClicked( nFileHandle );
if nTmp > 0 then
Begin
Str( nTmp, szHold );
lblAreaClicked.Caption := szHold;
End;
End;
end;
procedure TForm1.cmdPauseClick(Sender: TObject);
begin
mdPause( nFileHandle );
end;
procedure TForm1.cmdCloseAllClick(Sender: TObject);
begin
mdClose( 0 );
end;
procedure TForm1.cmdStepClick(Sender: TObject);
begin
mdStep( nFileHandle );
end;
procedure TForm1.cmdStopClick(Sender: TObject);
begin
mdStop( nFileHandle );
end;
procedure TForm1.cmdRewindClick(Sender: TObject);
begin
mdRewind( nFileHandle );
end;
procedure TForm1.cmdRestartClick(Sender: TObject);
begin
mdRestart( nFileHandle );
end;
procedure TForm1.cmdLiteClick(Sender: TObject);
Var
szFileName: array[0..79] of Char;
begin
StrPCopy ( szFileName, txtFileName.Text );
nFileHandle := mdOpenLite( Form1.ClientHandle, szFileName, 10, 10, 1 );
end;
procedure TForm1.cmdGotoClick(Sender: TObject);
Var
lFrame : LongInt;
nCharPos : Integer;
begin
Val( txtFrame.text, lFrame, nCharPos );
mdGotoFrame( nFileHandle, lFrame );
end;
procedure TForm1.cmdHideClick(Sender: TObject);
begin
mdHide( nFileHandle );
end;
procedure TForm1.cmdHideVidClick(Sender: TObject);
begin
mdHideVideo( nFileHandle );
end;
procedure TForm1.cmdHideCtrlClick(Sender: TObject);
begin
mdHideCtrl( nFileHandle );
end;
procedure TForm1.cmdShowClick(Sender: TObject);
begin
mdShow( nFileHandle );
end;
procedure TForm1.cmdShowVidClick(Sender: TObject);
begin
mdShowVideo( nFileHandle );
end;
procedure TForm1.cmdShowCtrlClick(Sender: TObject);
begin
mdShowCtrl( nFileHandle );
end;
procedure TForm1.cmdBottomClick(Sender: TObject);
begin
mdSetWinTop( nFileHandle );
end;
procedure TForm1.cmdBottom2Click(Sender: TObject);
begin
mdSetWinBottom( nFileHandle );
end;
procedure TForm1.chkShowBtmBtnClick(Sender: TObject);
begin
if chkShowBtmBtn.checked then
cmdBottom.visible := True
else
cmdBottom.visible := False;
end;
procedure TForm1.cmdTopClick(Sender: TObject);
begin
mdSetWinTop( nFileHandle );
end;
procedure TForm1.optModalClick(Sender: TObject);
begin
mdSetCtrlType( nFileHandle, MD_CONTROL_INT_MODAL );
end;
procedure TForm1.optNonModalClick(Sender: TObject);
begin
mdSetCtrlType( nFileHandle, MD_CONTROL_INT_NONMODAL );
end;
procedure TForm1.optNoControlClick(Sender: TObject);
begin
mdSetCtrlType( nFileHandle, MD_CONTROL_INT_NONE );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowHint := False;
Application.HintColor := clAqua;
Application.HintPause := 500;
Form1.Left := 0;
Form1.Top := 0;
nFileHandle := 0;
end;
procedure TForm1.sclPlaybackSpeedChange(Sender: TObject);
var
szHold : String;
begin
Str( sclPlaybackSpeed.Position, szHold );
lblPlaybackSpeed.Caption := 'Speed: ' + szHold;
mdSetPlaybackSpeed( nFileHandle, sclPlaybackSpeed.Position * 10 );
end;
procedure TForm1.shpColorMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
szHold : String;
nTmp : Integer;
begin
clrDialog.Execute;
shpColor.Brush.Color := clrDialog.color;
nTmp := clrDialog.color and 255;
Str( nTmp, szHold );
txtRed.Text := szHold;
nTmp := ( clrDialog.color shr 8 ) and 255;
Str( nTmp, szHold );
txtGreen.Text := szHold;
nTmp := ( clrDialog.color shr 16 ) and 255;
Str( nTmp, szHold );
txtBlue.Text := szHold;
end;
procedure TForm1.cmdColorClick(Sender: TObject);
var
nRed, nGreen, nBlue, nCode : Integer;
lColor : LongInt;
begin
val( txtRed.Text, nRed, nCode );
val( txtGreen.Text, nGreen, nCode );
val( txtBlue.Text, nBlue, nCode );
lColor := LongInt(nRed) + ( LongInt(nGreen) * 256 ) + ( LongInt(nBlue) * 65536 );
shpColor.Brush.Color := lColor + 33554432;
mdSetKeyColor( nRed, nGreen, nBlue );
end;
procedure TForm1.txtRedChange(Sender: TObject);
var
nTmp, nCode : Integer;
begin
val( txtRed.Text, nTmp, nCode );
if nTmp > 255 then txtRed.Text := '255';
if nTmp < 0 then txtRed.Text := '0';
end;
procedure TForm1.txtGreenChange(Sender: TObject);
var
nTmp, nCode : Integer;
begin
val( txtGreen.Text, nTmp, nCode );
if nTmp > 255 then txtGreen.Text := '255';
if nTmp < 0 then txtGreen.Text := '0';
end;
procedure TForm1.txtBlueChange(Sender: TObject);
var
nTmp, nCode : Integer;
begin
val( txtBlue.Text, nTmp, nCode );
if nTmp > 255 then txtBlue.Text := '255';
if nTmp < 0 then txtBlue.Text := '0';
end;
procedure TForm1.chkVideoPaletteClick(Sender: TObject);
begin
mdSetVideoPalette( Ord(chkVideoPalette.Checked) );
end;
procedure TForm1.cmdSetOffsetClick(Sender: TObject);
var
nXPos, nYPos, nCode : Integer;
begin
val( txtOffsetX.Text, nXPos, nCode );
val( txtOffsetY.Text, nYPos, nCode );
mdSetVideoOffset( nFileHandle, nXPos, nYPos );
end;
procedure TForm1.txtOffsetXChange(Sender: TObject);
var
nTmp, nCode : Integer;
begin
val( txtOffsetX.Text, nTmp, nCode );
if nTmp > 255 then txtOffsetX.Text := '255';
if nTmp < 0 then txtOffsetX.Text := '0';
end;
procedure TForm1.txtOffsetYChange(Sender: TObject);
var
nTmp, nCode : Integer;
begin
val( txtOffsetY.Text, nTmp, nCode );
if nTmp > 255 then txtOffsetY.Text := '255';
if nTmp < 0 then txtOffsetY.Text := '0';
end;
procedure TForm1.cmdSetClipClick(Sender: TObject);
var
lFrameBeg, lFrameEnd : LongInt;
begin
lFrameBeg := StrToInt( txtFrameBeg.Text );
lFrameEnd := StrToInt( txtFrameEnd.Text );
mdSetClip( nFileHandle, lFrameBeg, lFrameEnd );
end;
procedure TForm1.optMoveableClick(Sender: TObject);
begin
mdSetWindowInteractive( nFileHandle, Ord( False ) );
mdSetWindowMoveable( nFileHandle, Ord(optMoveable.Checked) );
end;
procedure TForm1.optInteractiveClick(Sender: TObject);
begin
mdSetWindowMoveable( nFileHandle, Ord(False) );
mdSetWindowInteractive( nFileHandle, Ord( optInteractive.Checked ) );
end;
procedure TForm1.cmdSetClipRegionClick(Sender: TObject);
var
nXPos, nYPos, nWidth, nHeight, nType, nCode : Integer;
begin
val( txtClipX.Text, nXPos, nCode );
val( txtClipY.Text, nYPos, nCode );
val( txtClipWidth.Text, nWidth, nCode );
val( txtClipHeight.Text, nHeight, nCode );
{val( spnType.Value, nType, nCode );}
mdSetClippingRegion( nFileHandle, nXPos, nYPos, nWidth, nHeight, spnType.Value );
end;
procedure TForm1.cmdMuteClick(Sender: TObject);
begin
mdSetAudioMute( nFileHandle );
end;
procedure TForm1.scrAudioLevelChange(Sender: TObject);
var
nVolume : Integer;
begin
nVolume := 100 - scrAudioLevel.Position;
mdSetAudioLevel( nFileHandle, nVolume );
end;
procedure TForm1.cmdSetPosVCClick(Sender: TObject);
var
nXPos, nYPos, nCode : Integer;
begin
val( txtBX.Text, nXPos, nCode );
val( txtBY.Text, nYPos, nCode );
mdSetWinPos( nFileHandle, nXPos, nYPos );
end;
procedure TForm1.cmdSetPosVClick(Sender: TObject);
var
nXPos, nYPos, nCode : Integer;
begin
val( txtVX.Text, nXPos, nCode );
val( txtVY.Text, nYPos, nCode );
mdSetVideoWinPos( nFileHandle, nXPos, nYPos );
end;
procedure TForm1.cmdSetPosCClick(Sender: TObject);
var
nXPos, nYPos, nCode : Integer;
begin
val( txtCX.Text, nXPos, nCode );
val( txtCY.Text, nYPos, nCode );
mdSetCtrlWinPos( nFileHandle, nXPos, nYPos );
end;
procedure TForm1.cmdSetSizeVCClick(Sender: TObject);
var
nWidth, nHeight, nCode : Integer;
begin
val( txtBW.Text, nWidth, nCode );
val( txtBH.Text, nHeight, nCode );
mdSetWinSize( nFileHandle, nWidth, nHeight );
end;
procedure TForm1.cmdSetSizeVClick(Sender: TObject);
var
nWidth, nHeight, nCode : Integer;
begin
val( txtVW.Text, nWidth, nCode );
val( txtVH.Text, nHeight, nCode );
mdSetVideoWinSize( nFileHandle, nWidth, nHeight );
end;
procedure TForm1.cmdSetSizeCClick(Sender: TObject);
var
nWidth, nHeight, nCode : Integer;
begin
val( txtCW.Text, nWidth, nCode );
{val( txtCH.Text, nHeight, nCode );}
mdSetCtrlWinSize( nFileHandle, nWidth );
end;
procedure TForm1.cmdGetPosVCClick(Sender: TObject);
var
nXPos, nYPos : Integer;
szHold : String;
begin
nXPos := mdGetWinX( nFileHandle );
nYPos := mdGetWinY( nFileHandle );
Str( nXPos, szHold );
txtBX.Text := szHold;
Str( nYPos, szHold );
txtBY.Text := szHold;
end;
procedure TForm1.cmdGetPosVClick(Sender: TObject);
var
nXPos, nYPos : Integer;
szHold : String;
begin
nXPos := mdGetVideoWinX( nFileHandle );
nYPos := mdGetVideoWinY( nFileHandle );
Str( nXPos, szHold );
txtVX.Text := szHold;
Str( nYPos, szHold );
txtVY.Text := szHold;
end;
procedure TForm1.cmdGetPosCClick(Sender: TObject);
var
nXPos, nYPos : Integer;
szHold : String;
begin
nXPos := mdGetCtrlWinX( nFileHandle );
nYPos := mdGetCtrlWinY( nFileHandle );
Str( nXPos, szHold );
txtCX.Text := szHold;
Str( nYPos, szHold );
txtCY.Text := szHold;
end;
procedure TForm1.cmdGetSizeVCClick(Sender: TObject);
var
nWidth, nHeight : Integer;
szHold : String;
begin
nWidth := mdGetWinWidth( nFileHandle );
nHeight := mdGetWinHeight( nFileHandle );
Str( nWidth, szHold );
txtBW.Text := szHold;
Str( nHeight, szHold );
txtBH.Text := szHold;
end;
procedure TForm1.cmdGetSizeVClick(Sender: TObject);
var
nWidth, nHeight : Integer;
szHold : String;
begin
nWidth := mdGetVideoWinWidth( nFileHandle );
nHeight := mdGetVideoWinHeight( nFileHandle );
Str( nWidth, szHold );
txtVW.Text := szHold;
Str( nHeight, szHold );
txtVH.Text := szHold;
end;
procedure TForm1.cmdGetSizeCClick(Sender: TObject);
var
nWidth, nHeight : Integer;
szHold : String;
begin
nWidth := mdGetCtrlWinWidth( nFileHandle );
{nHeight := mdGetVideoWinHeight( nFileHandle );}
Str( nWidth, szHold );
txtCW.Text := szHold;
{Str( nHeight, szHold );
txtVH.Text := szHold;}
end;
procedure TForm1.cmdFrameRateClick(Sender: TObject);
var
szHold : String;
begin
Str( mdGetFrameRate( nFileHandle ), szHold );
lblFrameRate.Caption := szHold;
end;
procedure TForm1.cmdPlayedStatusClick(Sender: TObject);
var
nPlayed : Integer;
szHold : String;
begin
nPlayed := mdGetPlayedStatus( nFileHandle );
Str( nPlayed, szHold );
lblPlayedStatus.Caption := szHold;
end;
procedure TForm1.cmdOpenFilesClick(Sender: TObject);
var
nFiles : Integer;
szHold : String;
begin
nFiles := mdGetOpenFileCount;
Str( nFiles, szHold );
lblOpenFiles.Caption := szHold;
end;
procedure TForm1.cmdFileTypeClick(Sender: TObject);
var
nFileType : Integer;
szHold : String;
begin
nFileType := mdGetFileType( nFileHandle );
Str( nFileType, szHold );
lblFileType.Caption := szHold;
end;
procedure TForm1.cmdWindowHandleClick(Sender: TObject);
var
lhWnd : LongInt;
whWnd : Word;
szHold, szMenu : String;
begin
whWnd := mdGetWindowHandle( nFileHandle );
lhWnd := LongInt( whWnd );
Str( whWnd, szMenu );
szHold := '0x' + IntToHex( lhWnd, 4 );
pnlWindowHandle.Caption := szHold;
mnuHandle.Caption := szMenu;
end;
procedure TForm1.pnlWindowHandleClick(Sender: TObject);
var
CurPos : TPoint;
begin
GetCursorPos( CurPos );
popHWND.Popup( CurPos.X, CurPos.Y );
end;
procedure TForm1.cmdDeviceIDClick(Sender: TObject);
var
nID : Integer;
szHold : String;
begin
nID := mdGetDeviceID( nFileHandle );
Str( nID, szHold );
pnlDeviceID.Caption := szHold;
end;
procedure TForm1.cmdClipFrameClick(Sender: TObject);
var
lFrame : LongInt;
szHold : String;
begin
lFrame := mdGetClipFrame( nFileHandle );
szHold := IntToStr( lFrame );
pnlClipFrame.Caption := szHold;
end;
procedure TForm1.cmdClipLengthClick(Sender: TObject);
var
lFrame : LongInt;
szHold : String;
begin
lFrame := mdGetClipLength( nFileHandle );
szHold := IntToStr( lFrame );
pnlClipLength.Caption := szHold;
end;
procedure TForm1.cmdDisplayStateClick(Sender: TObject);
var
nDisplayState : Integer;
szHold : String;
begin
nDisplayState := mdGetDisplayState( nFileHandle );
Str( nDisplayState, szHold );
pnlDisplayState.Caption := szHold;
end;
procedure TForm1.cmdSendStringClick(Sender: TObject);
Var
szSendString: array[0..127] of Char;
szHold, szHold1 : String;
lRet : LongInt;
begin
StrPCopy ( szSendString, txtSendString.Text );
lRet := mdMCISendString( nFileHandle, szSendString );
Str( lRet, szHold );
szHold1 := 'MCIReturn: ' + szHold;
pnlMCIReturn.Caption := szHold1;
end;
procedure TForm1.txtSendStringKeyPress(Sender: TObject; var Key: Char);
begin
if Key = Char( 13 ) then
begin
cmdSendStringClick( Sender );
Key := Char( 0 );
end;
end;
procedure TForm1.SpinButton1DownClick(Sender: TObject);
begin
if imgCursor.Top > -340 then
imgCursor.Top := imgCursor.Top - 34;
end;
procedure TForm1.SpinButton1UpClick(Sender: TObject);
begin
if imgCursor.Top < 0 then
imgCursor.Top := imgCursor.Top + 34;
end;
procedure TForm1.cmdCursorSetVCClick(Sender: TObject);
var
nCursor : Integer;
begin
nCursor := Abs( Trunc( imgCursor.Top / 34 ) ) - 1;
if nCursor > -1 then
mdSetCursor( nCursor )
else
mdResetCursor;
end;
procedure TForm1.cmdCursorSetVClick(Sender: TObject);
var
nCursor : Integer;
begin
nCursor := Abs( Trunc( imgCursor.Top / 34 ) ) - 1;
if nCursor > -1 then
mdSetVideoCursor( nCursor )
else
mdResetVideoCursor;
end;
procedure TForm1.cmdCursorSetCClick(Sender: TObject);
var
nCursor : Integer;
begin
nCursor := Abs( Trunc( imgCursor.Top / 34 ) ) - 1;
if nCursor > -1 then
mdSetCtrlCursor( nCursor )
else
mdResetCtrlCursor;
end;
procedure TForm1.cmdCursorResetCClick(Sender: TObject);
begin
mdResetCtrlCursor;
end;
procedure TForm1.cmdCursorResetVClick(Sender: TObject);
begin
mdResetVideoCursor;
end;
procedure TForm1.cmdCursorResetVCClick(Sender: TObject);
begin
mdResetCursor;
end;
procedure TForm1.cmdBrowseClick(Sender: TObject);
begin
dlgOpen.Execute;
txtGraphicFileName.Text := dlgOpen.FileName;
end;
procedure TForm1.cmdOpenGraphicClick(Sender: TObject);
var
szFileName: array[0..79] of Char;
begin
StrPCopy ( szFileName, txtGraphicFileName.Text );
mdOpenGraphic( nFileHandle, szFileName );
end;
procedure TForm1.cmdOpenKeepClick(Sender: TObject);
var
szFileName: array[0..79] of Char;
begin
StrPCopy ( szFileName, txtGraphicFileName.Text );
mdOpenGraphicKeep( nFileHandle, szFileName );
end;
procedure TForm1.cmdShowGraphicClick(Sender: TObject);
begin
mdShowGraphic( nFileHandle, Ord( chkUsePalette.Checked ) );
end;
procedure TForm1.cmdHideGraphicClick(Sender: TObject);
begin
mdHideGraphic( nFileHandle );
end;
procedure TForm1.cmdCloseGraphicClick(Sender: TObject);
begin
mdCloseGraphic( nFileHandle );
end;
procedure TForm1.cmdShowGraphicPosClick(Sender: TObject);
var
nXPos, nYPos, nWidth, nHeight, nType, nCode : Integer;
begin
val( txtGrXPos.Text, nXPos, nCode );
val( txtGrYPos.Text, nYPos, nCode );
val( txtGrWidth.Text, nWidth, nCode );
val( txtGrHeight.Text, nHeight, nCode );
mdShowGraphicPos( nFileHandle, nXPos, nYPos, nWidth, nHeight, Ord( chkUsePalette.Checked ) );
end;
procedure TForm1.cmdDisplayGraphicClick(Sender: TObject);
var
nXPos, nYPos, nType, nCode : Integer;
szFileName: array[0..79] of Char;
begin
StrPCopy ( szFileName, txtGraphicFileName.Text );
val( txtDispXPos.Text, nXPos, nCode );
val( txtDispYPos.Text, nYPos, nCode );
mdDisplayGraphic( nFileHandle, szFileName, nXPos, nYPos, Ord( chkUsePalette.Checked ) );
end;
procedure TForm1.cmdBrowseVideoClick(Sender: TObject);
begin
dlgVideo.Execute;
txtFileName.Text := dlgVideo.FileName;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
{ Do this because Delphi does not unload DLLs properly }
mdClose(0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
szFileName: array[0..79] of Char;
begin
{mdJSetTransColor( 255, 255, 255 );
StrPCopy ( szFileName, txtGraphicFileName.Text );
mdJOpenGraphic( nFileHandle, szFileName, 0, 0, 0 );}
end;
procedure TForm1.cmdEjectClick(Sender: TObject);
var nRet: Integer;
begin
nRet := mdCDEject;
end;
procedure TForm1.cmdUnloadLibClick(Sender: TObject);
var
nRet : Integer;
begin
nRet := mdCloseLibrary;
end;
procedure TForm1.cmdLoadLibClick(Sender: TObject);
var
nRet : Integer;
begin
nRet := mdOpenLibrary;
end;
end.